package com.isky.visual.proj.service;

import com.isky.visual.proj.entity.PanelGroup;
import com.baomidou.mybatisplus.extension.service.IService;
import com.isky.visual.proj.entity.vo.PanelGroupDeleteParam;
import com.isky.visual.proj.entity.vo.PanelGroupMoveParam;
import com.isky.visual.proj.entity.vo.PanelGroupParam;
import com.isky.visual.proj.entity.vo.ProjectVisualVO;

import java.util.List;

/**
 * <p>
 * 项目分组表 服务类
 * </p>
 *
 * @author wudl
 * @since 2020-04-28
 */
public interface IPanelGroupService extends IService<PanelGroup> {

    /**
     * 根据用户的id 查询该用户下面的所有项目名称名称
     * @param userId
     * @return
     */
    public List<ProjectVisualVO> getAllPublishVisual(int type);

    /**
     * 获取分组
     * @return
     */
    public List<ProjectVisualVO> getGroupDashboard( int type);

    /**
     * 创建仪表盘组
     * @return
     */
    boolean create(PanelGroupParam panelGroupParam);

    /**
     * 仪表盘组重命名
     * @return
     */
    boolean rename(PanelGroupParam panelGroupParam);
    /**
     * 仪表盘组移动
     * @return
     */
    boolean move(PanelGroupMoveParam panelGroupMoveParam);

    /**
     * 仪表盘组删除
     * @return
     */
    boolean delete(PanelGroupDeleteParam panelGroupDeleteParam);

    /**
     * 通过用户id来创建根目录组
     * @param userId
     * @return
     */
    boolean addRootByUserId(Long userId);
}
